Mobile computing devices such as smartphones and tablet computers are becoming more widely used every day. Android is an open-source, Linux based operating system for such mobile devices that is gaining an increasingly prevalent market share. A large community of developers write applications (“apps”) that run on Android devices. Many of these apps are available either for purchase or for free through the online Android Market, which is run by Google. Android apps can also be downloaded from other online stores and additional third-party sites.
There are other popular mobile operating systems in addition to Android. For example, Apple's iOS (formerly known as iPhone OS) is a mobile operating system that runs on Apple mobile devices such as the iPhone, the iPod Touch and the iPad. Many applications (“apps”) for iOS are available for download from Apple's App Store. Windows Phone is a mobile operating system developed by Microsoft, which runs on smartphones from vendors such as Nokia, Acer and Fujitsu. Users can download apps for Windows Phone from the Windows Phone Marketplace, which is run by Microsoft.
An app for one mobile operating system cannot run on another (for example, an Android app cannot run on an iPhone or a Windows Phone). In some cases, separate versions of a given app are developed for multiple target mobile operating systems. For example, both an Android version and an iOS version of the same app might be developed. Other apps are available for a single mobile operating system only, although apps that perform similar functions may be available for other platforms.
Quick Response (“QR”) Codes are a type of matrix barcode, which consist of black marking arranged in a square pattern on a white background. A QR code is quickly readable by a scanner, and can encode virtually any kind of data. Many mobile computing devices include an application that uses the onboard camera to scan QR codes. QR codes are widely used today to encode data to be scanned and processed by mobile computing devices. For example, QR codes are often used to encode Uniform Resource Locators (“URLs”) for convenient scanning by mobile devices, such that a mobile device can scan the QR code and automatically link to the webpage pointed to by the encoded URL. This does not require the user to do anything more than point the device at the QR code and activate the QR code scanning application (e.g., by pressing a button on the device). Thus, for example, print materials such as advertisements or product packaging can contain QR codes that resolve to web pages with more information or other online functionality concerning corresponding products or subject matter.
One new URL scheme that has been constructed to leverage QR code scanning on mobile devices is used to encode URLs that resolve to specific pages on the Android Market. Called market scheme URLs, this scheme allows a user with an Android device to scan a QR code, and automatically have the device link to the Android Market page for a specific Android application or publisher. The market scheme uses a prefix of “market://” for the URL. For example, suppose that a specific Android app called appname had a dedicated Android Market page, and that the standard URL pointing to that page was of the form http://market.android.com/details?id=com.pub.appname. The market scheme URL that could be encoded in a QR code linking to the app page on Android Market would be market://details?id=com.pub.appname.
Useful though they are, there are two problems with these market scheme URLs. First, they are not standard URLs that can be handled by common web browsers. In other words, these special links are not in the format of a standard URL, and are thus not supported by non-Android platforms. Although Android QR code scanning applications are programmed to manage these special links, QR code scanning applications and mobile browsers for other mobile operating systems are not. As a result, a user of a non-Android mobile device who scans a market link QR code will not be able to launch the corresponding Android Market page using the mobile device's browser.
The second problem is that for a user running a different mobile platform, such as iOS, landing on the Android Market page pointed to by the encoded market URL is not likely a desirable end result of scanning such a QR code in the first place. This is the case because the user likely scanned the QR code to learn more about and/or download the app being described in association with the QR code. However, the Android app available from the resulting Android Market page will not run on the user's non-Android mobile device. If a user scans a QR code that points to an Android Market page for a particular app, then the user might reasonably prefer to be taken to a page concerning a version of the app (or a similar app) that is compatible with the device the user has, such as the (iOS) App Store or Windows Phone Marketplace.
It would be desirable to address these issues.